#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>

// static：避免与其他文件函数名冲突、
// __init(__exit): 调用完毕会释放掉该修饰的函数的内存
static int __init init_module(void)
{
    printk("init_module\n");
    return 0;
}

static void __exit cleanup_module(void)
{
    printk("cleanup_module\n");
}

module_init(vser_init);  // 指定初始化函数
module_exit(vser_exit);  // 指定清除函数

MODULE_LICENSE("GPL");  // 接受相应许可证协议
MODULE_AUTHOR("KDY <chaoxi_todo@qq.com>");  // 作者信息
MODULE_DESCRIPTION("A simple module");  // 描述信息
MODULE_ALIAS("virtual-serial");  // 别名，可用于模块加载 > modprobe birtual-serial